package br.unirio.ticketnator.dao;

import java.util.List;

import br.unirio.ticketnator.model.Usuario;

/**
 * Interface para persist�ncia de Usu�rios
 * 
 * @author Guilherme
 */

public interface IUsuarioDAO {
	
	/**
	 * Retorna um usu�rio a partir de seu n�mero de identifica��o.
	 */
	public Usuario getUsuario (int id);
        
        /**
	 * Retorna um usu�rio a partir de seu email.
	 */
        
        public Usuario getUsuario (String email);
	
	/**
	 * Retorna a quantidade de usu�rios cadastrados no sistema.
	 */
	public int conta();
	
	/**
	 * Retorna a lista de usuarios cadastrados no sistema.
	 */
	public List<Usuario> lista (int pagina, int tamanho);
	
	/**
	 * Insere um novo usu�rio.
	 */
	public boolean insere (Usuario user);
	
	/**
	 * Atualiza os dados se um usu�rio no sistema
	 */
	public boolean atualiza (Usuario user);
	
	/**
	 * Remove um usu�rio a partir de seu ID
	 */
	public boolean remove (int id);
	
}
